package api_model

import "time"

func CreateBuyerUserInfoFactory(sqlType string) *BuyerUserInfo {
	return &BuyerUserInfo{BaseModel: BaseModel{DB: UseDbConn(sqlType)}}
}

type BuyerUserInfo struct {
	BaseModel
	Id              int32     `gorm:"column:id;type:int(11);primaryKey;not null;" json:"id"`
	Username        string    `gorm:"column:username;type:varchar(11);comment:用户名;not null;" json:"username"`                                       // 用户名
	Password        string    `gorm:"column:password;type:varchar(80);comment:密码;default:NULL;" json:"password"`                                    // 密码
	CreditScore     int32     `gorm:"column:credit_score;type:tinyint(4);comment:信誉分;not null;default:5;" json:"credit_score"`                      // 信誉分
	Avatar          string    `gorm:"column:avatar;type:varchar(100);comment:头像;default:NULL;" json:"avatar"`                                       // 头像
	Phone           string    `gorm:"column:phone;type:varchar(11);comment:手机号;not null;" json:"phone"`                                             // 手机号
	Qq              string    `gorm:"column:qq;type:varchar(11);comment:qq;default:NULL;" json:"qq"`                                                // qq
	Balance         float64   `gorm:"column:balance;type:decimal(10, 2);comment:余额;not null;default:0.00;" json:"balance"`                          // 余额
	FreezeBalance   float64   `gorm:"column:freeze_balance;type:decimal(10, 2);comment:冻结金额;not null;default:0.00;" json:"freeze_balance"`          // 冻结金额
	Describe        string    `gorm:"column:describe;type:varchar(50);comment:备注;default:NULL;" json:"describe"`                                    // 备注
	ParentId        int32     `gorm:"column:parent_id;type:int(11);comment:推荐人id 0平台邀请添加;default:0;" json:"parent_id"`                              // 推荐人id 0平台邀请添加
	InviteCode      string    `gorm:"column:invite_code;type:varchar(8);comment:邀请码;default:NULL;" json:"invite_code"`                              // 邀请码
	Openid          string    `gorm:"column:openid;type:varchar(50);comment:微信id，用于绑定公众号id;default:NULL;" json:"openid"`                            // 微信id，用于绑定公众号id
	State           string    `gorm:"column:state;type:enum('0', '1', '2');comment:状态  0未审核1审核通过2审核失败;not null;default:0;" json:"state"`            // 状态  0未审核1审核通过2审核失败
	IsImport        string    `gorm:"column:is_import;type:enum('0', '1');comment:是否是导入的买手，0否 1是;not null;default:0;" json:"is_import"`             // 是否是导入的买手，0否 1是
	InviteAuthority string    `gorm:"column:invite_authority;type:enum('0', '1');comment:是否是普通师傅 0否 1是;default:0;" json:"invite_authority"`         // 是否是普通师傅 0否 1是
	BondsmanState   string    `gorm:"column:bondsman_state;type:enum('0', '1');comment:担保状态 0 未担保 1 已担保;not null;default:0;" json:"bondsman_state"` // 担保状态 0 未担保 1 已担保
	BondsmanId      int32     `gorm:"column:bondsman_id;type:int(11);comment:担保师傅id;default:NULL;" json:"bondsman_id"`                              // 担保师傅id
	LimitLogin      string    `gorm:"column:limit_login;type:enum('0', '1');comment:限制登录，0不限制 1限制;not null;default:0;" json:"limit_login"`          // 限制登录，0不限制 1限制
	LimitTask       string    `gorm:"column:limit_task;type:enum('0', '1');comment:限制任务 0不限制 1限制;not null;default:0;" json:"limit_task"`            // 限制任务 0不限制 1限制
	LimitWithdraw   string    `gorm:"column:limit_withdraw;type:enum('0', '1');comment:限制提现 0不限制 1限制;not null;default:0;" json:"limit_withdraw"`    // 限制提现 0不限制 1限制
	LimitInvite     string    `gorm:"column:limit_invite;type:enum('0', '1');comment:限制邀请 0不限制 1限制;not null;default:0;" json:"limit_invite"`        // 限制邀请 0不限制 1限制
	BondsmanTime    time.Time `gorm:"column:bondsman_time;type:datetime;comment:担保时间;default:NULL;" json:"bondsman_time"`                           // 担保时间
	LastTime        time.Time `gorm:"column:last_time;type:datetime;comment:最后登录时间;default:NULL;" json:"last_time"`                                 // 最后登录时间
}

func (u *BuyerUserInfo) TableName() string {
	return "buyer_user_info"
}
